/**
 * 滚动加载分页数据的公用函数
 * @param {HTMLElement} container 容器元素
 * @param {HTMLElement} lastItem 末尾元素
 * @param {Number} distance 提前加载的距离值
 * @param {Function|Null|undefined} cb 回调函数
 * @param {Object|Null|undefined} args 回调函数的参数
 * @returns
 */
export const scrollPaging = (container, lastItem, distance = 300, cb, ...args) => {
  if (!container || !lastItem || !container.contains(lastItem)) return;
  // if (!container.scrollTop) return;
  if (container.scrollTop + container.clientHeight < lastItem.offsetTop - distance) {
    return;
  }

  if (!cb || typeof cb !== 'function') return;

  return Promise.resolve(cb.call(this, ...args));
}
